#ifndef DOUBLEINPUTCONTROL_H_
#define DOUBLEINPUTCONTROL_H_

#include "Control.h"

/**
 * \class DoubleInputControl
 * \brief A Control-derivative class which the server renders as an input form on the web page
 *
 * HTML does not differentiate between types of input fields, but an \a atof() method is performed on
 * the value of the input field and so it is understood that the field can contain only a double.
 * This limitation can be passed to the end user through the description.
 *
 * Doubles may be entered in standard or scientific notation with en or En denoting \f$10^n\f$.
 */
class DoubleInputControl: public Control {
public:
	DoubleInputControl(std::string controlDescription);
	virtual ~DoubleInputControl();

	/**
	 * \brief redefinition of Element::getType() to return the correct value
	 * \return DOUBLECONTROL
	 */
	int getType();
	void setValueDouble(double newDoubleValue);
	double getValueDouble();

	void setValue(void* newValue);

private:
	double valueDouble;
};

#endif /* DOUBLEINPUTCONTROL_H_ */
